//登录接口
const express = require('express');
const pool = require('../pool');
const router = express.Router()
var QcloudSms = require("qcloudsms_js");
//通过密码和手机号验证用户
router.post('/user',(req,res,next)=>{
    var {phone,pwd} = req.body
    pool.query('select * from user where phone=? and pwd=md5(?)',[phone,pwd],(err,r)=>{
        if(err){
            return next(err)
        }
        console.log(r);
        if(r == ''){
            res.send({code:400,msg:'密码或电话号输入错误'})
            return;
        }
        res.send({code:200,msg:'用户列表',data:r})
    })
})
//查找手机号是否重复
router.get('/user-phone',(req,res,next)=>{
    pool.query('select phone from user',(err,r)=>{
        if(err){
            return next(err)
        }
        console.log(r);
        res.send({code:200,msg:'所有人电话号',data:r})
    })
})
//添加用户接口
router.post('/user-reg',(req,res,next)=>{
    var obj = req.body
    if(obj.phone != null){
      pool.query('select phone from user where phone=?',[obj.phone],(err,r)=>{
            if(err){
                return next(err)
            }
            console.log(r);
            if(r == ''){
                pool.query('insert into user (phone,reg_time,pwd,nickname) value (?,?,md5(?),?)',[obj.phone,obj.reg_time,obj.pwd,obj.nickname],(err,r)=>{
                    if(err){
                        return next(err)
                    }
                    console.log(r); 
                    res.send({code:200,msg:'用户添加成功'})
                })
            }else{
                res.send({code:400,msg:'手机号已被注册'})
            }
        })  
    }
})

// 短信验证码
router.post('/api/code',(req,res,next) => {

    let obj = req.body
    let tel = obj.phone

    // 短信应用SDK AppID
    var appid = 1400187558;  // SDK AppID是1400开头

    // 短信应用SDK AppKey
    var appkey = "dc9dc3391896235ddc2325685047edc7";

    // 需要发送短信的手机号码
    var phoneNumbers = [tel];

    // 短信模板ID，需要在短信应用中申请
    var templateId = 285590;  // NOTE: 这里的模板ID`7839`只是一个示例，真实的模板ID需要在短信控制台中申请

    // 签名
    var smsSign = "保洁到家";  // NOTE: 这里的签名只是示例，请使用真实的已申请的签名, 签名参数使用的是`签名内容`，而不是`签名ID`

    // 实例化QcloudSms
    
    var qcloudsms = QcloudSms(appid, appkey);

    // 设置请求回调处理, 这里只是演示，用户需要自定义相应处理回调
    function callback(err, ress, resData) {
        if (err) {
            console.log("err: ", err);
        } else {
            console.log("request data: ", ress.req);
            console.log("response data: ", resData);
            res.send({
                code:200,
                data:{
                    success:true,
                    data:ress.req.body.params[0]
                }
            })
        }
    }

    var ssender = qcloudsms.SmsSingleSender();
    var params = [Math.floor(Math.random() * (9999-1000))+1000];
    ssender.sendWithParam(86, phoneNumbers[0], templateId,
        params, smsSign, "", "", callback);  // 签名参数不能为空串
})

module.exports = router